การบร หารโครงการซอฟต แวร และCMM ดร. ครรช ต มาล ยวงศ ศ นย บร การสารสนเทศทางเทคโนโลย ส าน กงานพ ฒนาว ทยาศาสตร และเทคโนโลย แห งชาต 11 ก มภาพ นธ 2543 1
เน อหาค าบรรยายา สถานภาพงานพ ฒนาซอฟต แวร ไทย การบร หารงานโครงการซอฟต แวร ภาพรวมของ CMM การร บรองระด บ CMM ไทยก บ CMM สร ป 2
โลกของซอฟต แวร โลกย คป จจ บ นถ กควบค มด วยซอฟต แวร นานาประเภท ซอฟต แวร ระบบ ภาษาคอมพ วเตอร ซอฟต แวร ประย กต ซอฟต แวร ระบบฝ งต ว ซอฟต แวร เหล าน ค อจ ดเร มต นของความเส ยง 3
ว ว ฒนาการของซอฟต แวร การพ ฒนาซอฟต แวร ผ านกระบวนการเร ยนร มามาก ใครใคร เข ยนเข ยน ใครใคร ค ดค ด ส บสนและว กฤต แสวงหาโครงสร าง พ ฒนาแนวทางและกระบวนการ 4
จ ดว กฤต ในงานซอฟต แวร การพ ฒนาซอฟต แวร ม ประเด นท เป นจ ดว กฤต หลายด าน อาท ค ณภาพและ และความน าเช อถ อ สมรรถนะและ และความย ดหย น ความสร างสรรค และการเป ดเผย โครงสร างและการ การปร บเปล ยน ผลล พธ และกระบวนการ 5
กระบวนการซอฟต แวร กระบวนการ หมายถ ง ล าด บของข นตอนต าง ๆ ในการด าเน น งานให บรรล เป าหมาย กระบวนการซอฟต แวร หมายถ งกล มของก จกรรม ว ธ การ ว ธ การ การปฏ บ ต และการเปล ยนแปลงท ใช ในการพ ฒนาและ บ าร งร กษา ซอฟต แวร ตลอดจนผล ตภ ณฑ ท เก ยวเน อง กระบวนการซอฟต แวร ประกอบด วย คน ว ธ การ และ เคร องม อ 6
ค ณภาพซอฟต แวร ไทย อย ในต วซอฟต แวร เอง Interface Processing Results Robustness อย ในกระบวนการสร างซอฟต แวร และอย ในกระบวนกา อย ในกระบวนการบ บ าร งร กษาซอฟต แวร 7
การบร หารงานโครงการซอฟต แวร 8
การบร หารงานโครงการ โครงการ หมายถ ง งานท ม ว ตถ ประสงค แน ช ด ม จ ด เร มต น และ จ ดส นส ดท ช ดเจน ม ทร พยากรท ช ดเจน การบร หารงานโครงการม กจะมอบหมายให ม ผ จ ดการ โครงการ ท าหน าท ควบค มทร พยากร และ จ ดสรรงาน ต าง ๆ ให แก ผ ร วมท ม พร อมก บด แลให งานด าเน นไป ตามก าหนดการท วางไว 9
ซอฟต แวร ก เป นงานโครงการ การพ ฒนาซอฟต แวร จ ดเป นงานโครงการได น นค อม เน องานและว ตถ ประสงค ช ดเจน ม ทร พยากร งบประมาณ และก าหนดเวลาช ดเจน การบ าร งร กษา และ แก ไขซอฟต แวร ไม จ ดว าเป นงาน โครงการ เพราะไม ม ก าหนดเว เวลาส นส ดท ช ดเจน 10
หล กการบร หารโครงการซอฟต แวร ต องเข าใจต วแปรของโครงการ ปร มาณงานท ต องพ ฒนา ก าหนดเวลาด าเน นการ ก าล งคนท ต องใช งบประมาณ ว ธ การและเคร องม อ 11
หล กการบร หารโครงการซอฟต แวร ต องม ท มงานท ม ม ความสามารถ ท งต วผ ผ บร หารโครง การ ผ ร วมท ม และผ ประสานงานฝ ายผ ใช ต องใช ว ธ การพ ฒนาท เป นมาตรฐาน ต องบ นท กเหต การณ ต าง ๆ ระหว างการด าเน นการไว เป นสถ ต เพ อปร บปร ง สถ ต เพ อปร บปร งในอนาคต ต องม การควบค มและประเม นโครงการตลอดเวลา 12
หล กการบร หารโครงการซอฟต แวร ต องต งเป าหมายในการพ ฒนาซอฟต แวร ท ม ค ณภาพ ตรงก บ ก บความต องการของผ ใช ม ความย ดหย น ด แล แก ไข และ ปร บปร งได ง าย ม ประส ทธ ภาพในการท างาน ม ความถ กต องน าเช อถ อ ใช ง าย 13
หล กการบร หารโครงการซอฟต แวร ต องวางแผน ก าหนด Work Breakdown ของโครงการ มอบหมายให ล กท มท างานตามภาระงานท ตนเองม ประสบการณ ควบค มการท างานอย างใกล ช ด พร อมช วยแก ป ญหา และ หาทางแก ไขหากม ป ญหา 14
กระบวนการซอฟต แวร การพ ฒนาซอฟต แวร เป นกระบวนการท เร ยกว า Software Process ผลของการพ ฒนาเป นผล ตภ ณฑ Software product ท ง Process และ Product จะต องม ค ณภาพ อ กน ยหน ง กระบวนการจะต องม ว ฒ ภาวะ 15
กระบวนการท ย งไม บรรล ว ฒ ภาวะ การท างานเป นไปแบบต างคนต างค ด ไม ได ก าหนดเป นแนวทางแน ช ด ข นอย ก บประสบการณ ของคนพ ฒนาซอฟต แวร ต ดตาม ตามความก าวหน าและค ณภาพได ยาก อาจต องยอมลดฟ งก ช นและค ณภาพเพ อพ ฒนาให ตรงก าหนด เส ยงท จะใช เทคโนโลย ท ก าวหน า ค าบ าร งร กษาส งมาก คาดคะเนค ณภาพได ยาก (CMM) 16
กระบวนการท เจร ญก าวหน าส งส ด สอดคล องก บเน องานท ท าจร ง ๆ เป นกระบวนการท ก าหนดข นตอนอย างช ดเจน ม การ บ นท กการท การท างานเป นเอกสาร/เพ อให สามารถแก ไข ปร บปร งผลงานได ได อย างต อเน อง ท าให ฝ าย ฝ ายบร หารและฝ ายอ น ๆ สน บสน นได ช ดเจน สามารถควบค มการด าเน นงานได ใช เคร องม อว ดผลและกระบวนการอย างสร างสรรค ใช เทคโนโลย เทคโนโลย อย างม ว น ย 17
ประโยชน ของการม กระบวนการท บรรล ว ฒ ภาวะ ช วยให สามารถพ จารณาเจาะลงไปย งจ ดท เป นสาเหต ของป ญหาได ง ายข น ช วยให เจ าหน าท พ ฒ พ ฒนาศ กย ศ กยภาพของตนเองได ได อย างม ประส ทธ ผล ช วยปร บปร งผลงานต าง ๆ ได อย างม ประส ทธ ภาพและ ย งย น ช วยให น าเทคโนโลย ท เหมาะสม เทคน ค และเคร องม อ มาใช ใช อย างม ประส ทธ ภาพได เพ มข น 18
โครงการพ ฒนาซอฟต แวร ก บ CMM CMM ไม ได เป นเทคน คหร อเคร องม อในการท าโครง การซอฟต แวร แต การใช เทคน คการควบค มโครงการพ ฒนา ซอฟต แวร เป น ก าวส าค ญในการยกต วเองข นมาส ระด บท สองของ CMM ซ งเร ยกว า ระด บ Repeatable 19
CMM เคร องม อว ดระด บว ฒ ภาวะ 20
CMM ค ออะไร อะไร การน ากระบวนการต ดส นใจและหล กการปร บปร ง การปร บปร ง ค ณภาพมาใช ก บการพ ฒนาและการบ บ าร งร กษาซอฟต แวร เป นแนวทางส าหร บให ให บร ษ ทซอฟต แวร ใช เป นแบบจ าลองส าหร บปร บปร งองค กร เป นโครงสร างพ นฐานส าหร บใช ประเม นการท างานของ บร ษ ทซอฟต แวร ได ได อย างม นใจ 21
CMM ค ออะไร อะไร Capability Maturity Model เป นแบบจ าลองส าหร บว ดว าหน วยงานท ท าหน าท พ ฒนาซอฟต แวร น น ม ความสามารถและได บรรล ว ฒ ภาวะในการท างานมากน อยเพ ยงใด ใช ในการตรวจสอบค ณภาพของต วเองเป นหล ก แต สามารถใช สร าง สร างความม นใจให แก ผ อ นได พ ฒนาและเผยแพร โดย Software Engg Institute 22
CMM ไม ได ครอบคล ม ครอบคล มอะไรบ าง อะไรบ าง CMM ไม ได ได ครอบคล มถ งประเด นท งหมดทาง กระบวนการซอฟต แวร และการ การปร บปร งค ณภาพ ประเด นท เก ยวข องเพ ยงบางส วน หร อโดยอ อม ค อ เคร องม อ ว ธ การ และเทคโนโลย ท มงานและกระบวนการท างาน ว ศวกรรมระบบและการตลาด ทร พยากรมน ษย พฤต กรรมองค กร 23
Capability และPerformance Process Capability พ ส ยของผลล พธ ท ต องการ และ ท าได โดยใช กระบวนการท ก าหนดข นในระด บองค การ เป นด ชน ส าหร บคาดคะเนผลการด าเน นงานโครงการ ในอนาคต Process performance การว ดผลล พธ จร ง ๆ ท ได จาก การด าเน นงานตามกระบวนการท ท ก าหนด ปกต ม กจะ หมายถ งโครง โครงการหน ง ๆ ในองค องค การ 24
ระด บของว ฒ ภาวะ 5. เน นในด านการปร บปร ง กระบวนการ 4. สามารถว ดผลและควบค ม กระบวนการซอฟต แวร ได 3. สามารถจ าแนกกระบวนการให เข าใจได ง าย 2. โครงการสามารถท าซ าภารก จท ม การควบค มอย างด 1. ไม สามารถคาดคะเน กระบวนการได และ Initial การท างานก ย ง/ไม ม การควบค มท ด Repeatable Defined Managed Optimizing 25
ว ว ฒนาการของ Process Capability ระด บ ล กษณะกระบวนการ 5. Optimizing ปร บปร งกระบวนการซอฟต แวร ท ง องค การ และ ท าอย างต อเน องา 4. Managed ควบค มผลผล ต ค มผลผล ตและกระบวนการด วย เทคน คทางสถ ต จ านวน 3. Defined ก าหนดกระบวนการและ และรวมว ศวกรรม ซอฟต แวร ก บกระบวนการจ ดการ กระบวนการจ ดการ 2. Repeatable ใช ระบบจ ดการ ระบบจ ดการโครงการ สามารถท า ให เก ดผล ผลส าเร จแบบเด ยวก น ก นได 1. Initial กระบวนการไม ไม ม ร ป ม ร ปแบบทางการและบทางการและ คาดเดาไม ได 26
ระด บ Initial ผลงานข นอย ก บ ก บความเก งกล าสามารถของบ คลากรท พ ฒนาซอฟต แวร ของหน วยงาน ผลงานอาจม ค ณภาพส งและเย ยมยอดได ตราบเท าท หน วยงานย งสามารถจ างคนเก งเอาไว ท านายผลงานไม ได ว าจะม ค ณภาพด หร อไม ป ญหาส าค ญท หน วยงานซอฟต แวร ประสบ ประสบอย ค อ ป ญหาด านการจ ดการ ไม ใช ป ญหาด านเทคน ค หน วยงานย งไม ม Key Process Area 27
ระด บ Repeatable ความจ าเป นท เห นช ดค อต องม ว ธ การจ ดการโครงการ ซอฟต แวร ให ประสบผลส าเร จ หน วยงานม ว ธ การจ ดการโครงการซอฟต แวร ซ งใช เป น หล กในการต ดตามและบ นท กผลการท างาน ม นโยบายองค กรส าหร บเป นแนวทางในการก าหนดว ธ การจ ดการโครงการ สามารถท างานแต ละโครงการให ประสบ ประสบความส าเร จได เหม อนโครงการอ น ๆ ท เคยส าเร จไปแล ว (repeatable) 28
Key Process Area ในระด บ Repeatable Software Configuration Management Software Quality Assurance Software Subcontract Management Software Project Tracking and Oversight Software Project Planning Requirement Management 29
ระด บ Defined ค ณภาพระด บน สร างบนพ นฐานของการจ ดการโครง การซอฟต แวร การควบค มกระบวนการจ าเป นต องน ยาม บ นท กราย ละเอ ยด และเข าใจกระบวนการน นเป นอย างด ผลล พธ ของภาระงานอย าง อย างหน งไหลอย างราบร นเป น อ นพ ต พ ตไปส อ กภาระ ไปส อ กภาระงานหน ง หน วยงานม กระบวนการท ให อ านาจบ คคลในการท างาน 30
Key Press Areas ระด บ Defined Peer Reviews Intergroup Coordination Software Project Engineering Integrated Software Management Training Program Organization Process Definition Organization Process Focus 31
ระด บ Managed ใช หล กการการควบค มกระบวนการเช ง เช งสถ ต ในการ ศ กษาว าอะไรเป นสาเหต ของ ของความแปรปรวนของการรวนของการ ท างานในโครงการ Key Process Areas ค อ Software Quality Management Quantitative Process Management 32
ระด บ Maturity Level จ าแนกและก าจ ดสาเหต ของผลงานท ไม ถ งระด บ พยายามปร บปร งกระบวนการ ปร บปร งกระบวนการซอฟต แวร ซอฟต แวร อย างต อเน อง อย างต อเน อง Key Process Areas : Process Change Management Technology Change Management Defect Prevention 33
การบร หารซอฟต แวร ต องผ านไปท ละระด บ หน วยงานซอฟต แวร อาจท ากระบวนการท ท อย ระด บส ง กว าได แต ม กจะไม ได ผล ความสามารถในการท างานแต ละกระบวนการต องสร าง ข นท ละระด บ ค ณภาพแต ละระด บเป นพ นฐานของระด บท ส งกว า กระบวนการว ศวกรรมท ส าค า ค ยอาจถ กละเลยเพราะขาดว น ย ทางการจ ดการ การจ ดผลอย างละเอ ยดจะท าไม ได หากไม น ยามกระบวน การให ช ด ผลของการ การปร บกระบวนการใหม จะคล มเคร อหากกระบวน การไม ช ดเจน 34
CMM Structure Maturity levels Process capability Key process areas Goals Implementation or institutionalization Activities or infrastructure Common features Key practices 35
Key process areas by maturity level Repeatable Defined Managed Optimizing Defect prevention Technology change management Process change management Quantitative process management Software quality management Organization process focus Organization process definition Training program Integrated software management Software product engineering Intergroup coordination Peer reviews Requirements management Software project planning Software project tracking and oversight Software subcontract management Software quality assurance Software configuration management Initial 36
Five levels of software process maturity Disciplined process INITIAL 1 Standard consistent process REPEATABLE 2 Predictable process DEFINED 3 Continuously improving process MANAGED 4 OPTIMIZING 5 37
สร ป CMM เน นท การจ ดการซอฟต แวร กระบวนการจะช ดเจนหร อไม ข นอย ก บว ฒ ภาวะใน การท างานตามกระบวนการน น CMM เป นแบบจ าลอง 5 ระด บ และแต ละระด บแตก ออกเป น Key Process Areas แต ละระด บต องอาศ ย อาศ ยความสามารถในระด บท ความสามารถในระด บท ต ากว าา 38
บรรณาน กรม ค าบรรยาย า - หล กส ตรแนะน า CMM ของมหาว ทยาล ยคาร เน คาร เนก เมลลอน ลอน SEI, The Capability Maturity Model : Guidelines for Improving the Software Process, Addison Wesley, 1994. Caputo,, Kim, CMM Implementation Guide, Addison Wesley, 1998. Hollenbach,, Craig,et al, Combining Quality and Software Improvement, Communication of the ACM, June 1997, Vol 40., No.6. 39